home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / O Boy / Source / AEObj_pd.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-21  |  2.0 KB  |  114 lines  |  [TEXT/R*ch]

  1. #pragma once on
  2. /*
  3.     AEObj_pd.h
  4.     © Bob Boylan 1996
  5.     
  6.     Revision History
  7.     MacHack 1996    initial creation
  8. */
  9. #include "BaseTypes.h"
  10. #include "PropertyValue_pd.h"
  11. #include "Clone_ut.h"
  12. #include "AETE_da.h"
  13. #include "ObjectSpec_da.h"
  14.  
  15. #include <UAppleEventsMgr.h>
  16. #include <vector.h>
  17. #include <stack.h>
  18.  
  19. class ProgressProc_hi;
  20.  
  21.  
  22.  
  23. class AEObj_pd
  24. {
  25. public:
  26.     // ctor
  27.         AEObj_pd();
  28.         AEObj_pd( AEObj_pd * inParent, DescType inKind, Int_32 inIndex );
  29.         AEObj_pd( AEObj_pd * inChild );
  30.     // dtor
  31.         virtual    ~AEObj_pd();
  32.     
  33.     //    Update - will grab the latest data from the object
  34.         virtual    
  35.         void    Update( ProgressProc_hi &inProgressProc, Int_32 inMaxSubModels );
  36.     
  37.     // getters
  38.         virtual
  39.         Clone_ut<PropertyValue_pd>    GetPropertyValue( Prop_da &inProp );
  40.  
  41.         virtual
  42.         string                        GetName();
  43.  
  44.         virtual
  45.         string                        GetFullName();
  46.  
  47.         virtual
  48.         string                        GetKindName();
  49.  
  50.         virtual
  51.         DescType                    GetKindID();
  52.  
  53.         virtual
  54.         Int_32                        GetPosition();
  55.     
  56.         virtual
  57.         Int_32            GetSubModelCount( DescType inModelKind );
  58.         
  59.         virtual
  60.         string        GetObjAddr();
  61.         
  62.         
  63.         virtual
  64.         void *        GetAppAddr();
  65.         
  66.         virtual
  67.         OSType        GetAppAddrType();
  68.         
  69.         virtual
  70.         Int_32        GetSizeofAppAddr();
  71.     
  72.         virtual
  73.         Clone_ut< AETE_da >    GetAETE();
  74.  
  75.  
  76.     // Walking the hierarchy
  77.         virtual
  78.         Clone_ut< AEObj_pd >    GetParent();
  79.         virtual
  80.         Clone_ut< AEObj_pd >    GetSibling( Int_32 inPositionDelta );
  81.  
  82.     // questions?
  83.         virtual
  84.         Boolean        IsValidAETE();
  85.  
  86. protected:
  87.  
  88.     // getting doer function
  89.         virtual
  90.         string        GetObjAddrR( vector<ObjectSpec_da>::iterator &ioIter );
  91.  
  92.     // Updaters
  93.         virtual
  94.         void        UpdatePropertyValues(  ProgressProc_hi &inProgressProc , DescType inPropertyID = typeNull);
  95.         virtual
  96.         void        UpdateSubModelList(  ProgressProc_hi &inProgressProc, Int_32 inMaxSubModels  );
  97.  
  98.     // setter of object spec    
  99.         virtual
  100.         void        PushObjSpec( ObjectSpec_da &inObjSpec );
  101.  
  102.     // data
  103.         vector <ObjectSpec_da>                 _ObjectSpec;
  104.         Clone_ut< AETE_da >                    _AETE;
  105.     
  106.         OSType                                _AppSignature;
  107.  
  108. private:
  109.  
  110.     // timeout when waiting for ae reply
  111.         static Int_32    _TimeoutinTicks;
  112.  
  113. };
  114.